package com.ylbh.modules.userclass.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ylbh.common.exception.NormalException;
import com.ylbh.common.pojo.business.dto.CashWithdrawalDTO;
import com.ylbh.common.pojo.business.vo.CashWithdrawalDetailsVO;
import com.ylbh.common.pojo.icon.dto.AddIconDTO;
import com.ylbh.common.pojo.icon.dto.IconDTO;
import com.ylbh.common.pojo.icon.vo.IconDetailsVO;
import com.ylbh.common.pojo.userclass.dto.BusinessInformationDTO;
import com.ylbh.common.pojo.userclass.dto.UpdateBusinessInformationDTO;
import com.ylbh.common.pojo.userclass.vo.BusinessDetailsVO;
import com.ylbh.common.utils.PageDTO;
import com.ylbh.common.utils.PageUtils;
import com.ylbh.modules.userclass.entity.ShoppingUserClass;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

/**
 * 联盟商家用户分类信息表
 *
 * @author ${author}
 * @email ${email}
 * @date 2019-04-19 14:38:31
 */
public interface ShoppingUserClassService extends IService<ShoppingUserClass> {

    /**
     * 联盟商家用户分类信息列表
     * @param page
     * @param limit
     * @return
     */
    PageUtils queryClassification(int page,int limit);

    /**
     * 根据id查看详情
     * @param id
     * @return
     */
    String getClassNameById(Long id);

    /**
     * 根据id修改分类信息
     * @param id
     * @param className
     */
    void modifyByIds(Long id,String className);

    /**
     * 根据id来删除分类
     * @param id
     */
    void deleteByIds(String id);

    /**
     * 新增分类
     * @param className
     */
    void addClass(String className);

    /**
     * 联盟店信息管理列表
     * @param informationListList
     * @return
     */
    PageUtils queryBusinessInformation(BusinessInformationDTO informationListList);

    /**
     * 根据id查看联盟店信息管理详情信息
     * @param id
     * @return
     */
    BusinessDetailsVO getBusinessInformationById(Long id);

    /**
     * 根据id修改联盟店信息管理详情信息
     * @param updateByIdOrInformationDTO
     */
    void modifyClassName(UpdateBusinessInformationDTO updateByIdOrInformationDTO);

    /**
     * 导出联盟店信息管理
     * @param response
     */
    void businessInformationExcel(HttpServletResponse response, HttpServletRequest request) throws NormalException;

    /**
     * 联盟店提现列表
     * @param cashWithdrawalDTO
     * @return
     */
    PageUtils queryBusinessCashWithdrawal(CashWithdrawalDTO cashWithdrawalDTO);

    /**
     * 根据id查看联盟店提现详情
     * @param id
     * @return
     */
    CashWithdrawalDetailsVO getBusinessCashWithdrawal(Long id);

    /**
     * icon图标管理列表
     * @param pageDTO
     * @return
     */
    PageUtils queryIconList(PageDTO pageDTO);

    /**
     * icon图标详情
     * @param id
     * @return
     */
    IconDetailsVO getIconById(Long id);

    /**
     * icon图标修改
     * @param updateIconDTO
     */
    void modifyIcon(IconDTO updateIconDTO);

    /**
     * 新增金刚位及icon图标
     * @param iconDTO
     */
    void addIcon(IconDTO iconDTO);
}

